package com.rzjm.api.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
import java.math.BigDecimal;

/**
 * 山泉水机器对象 device_water
 *
 * @author ruoyi
 * @date 2025-01-07
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("device_water")
public class DeviceWater implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * $column.columnComment
     */
    @TableId(value = "id",type = IdType.AUTO)
    private Integer id;

    /**
     * 所在小区id
     */
    private Integer estateId;

    /**
     * 设备编号
     */
    private String deviceSn;

    /**
     * 设备名称
     */
    private String deviceName;

    /**
     * 在线状态  0 - 离线 1 - 在线
     */
    private Integer onlineState;

    /**
     * 最后的在线时间
     */
    private Date lastOnlineTime;

    /**
     * 最后的离线时间
     */
    private Date lastOfflineTime;

    /**
     * 状态  0 -未激活 1 - 已启用（正常售水） 2 - 禁用 3 - 报修
     */
    private Integer state;

    /**
     *  故障时间
     */
    private Date errorTime;

    /**
     * 经度
     */
    private BigDecimal lng;

    /**
     * 纬度
     */
    private BigDecimal lat;

    /**
     * sim 卡的状态
     */
    private Integer simCardState;

    /**
     * 设备IMEI
     */
    private String imei;

    /**
     * 物联网卡IMSI
     */
    private String imsi;

    /**
     * 物联网卡的运营商
     */
    private String simCardType;

    /**
     * 单次打水的价格 （元）
     */
    private BigDecimal singlePrice;

    /**
     * 单次打水的容量体积（L）
     */
    private BigDecimal singleVolume;

    /**
     * 单次打水的时间 （秒）
     */
    private Integer singleTime;

    /**
     * 卡的到期时间
     */
    private Date simCardExpire;

    /**
     *  温控状态 0 - 关闭 1 - 开启
     */
    private Integer temperatureState;

    /**
     * 当前温度
     */
    private Double temperature;

    /**
     * 当前湿度
     */
    private Double humidity;

    /**
     * 报警温度
     */
    private Double temperatureWarn;

    /**
     * 温控启动温度
     */
    private Double tempControlStart;

    /**
     * 温控关闭温度
     */
    private Double tempControlEnd;

    /**
     *  罐体高度  单位 厘米
     */
    private Integer tankHeight;

    /**
     * 水箱体积  单位 L
     */
    private Double tankVolume;

    /**
     *  水箱当前水位
     */
    private Double tankLine;

    /**
     * 水箱的状态 1：水位过低 2：低水位 3：中水位 4：高水位
     */
    private Integer tankState;

    /**
     * 灯箱的状态  0 - 关闭 1 - 开启  2 - 报修
     */
    private Integer lightBoxState;

    /**
     * 灯箱开启时间
     */
    private Date lightBoxOpenTime;

    /**
     * 灯箱关闭时间
     */
    private Date lightBoxCloseTime;

    /**
     * 臭氧状态  0 - 关闭 1 - 开启  2 - 报修
     */
    private Integer ozoneState;

    /**
     * 臭氧开启时长   秒数
     */
    private Integer ozoneDuration;

    /**
     * 臭氧开启的周期   秒数
     */
    private Integer ozoneInterval;

    /**
     * 单次消费限额
     */
    private BigDecimal singlePayLimit;

    /**
     * 单日的消费限额
     */
    private BigDecimal singleDayLimit;

    /**
     * 负责人姓名
     */
    private String managerName;

    /**
     * 负责人手机号
     */
    private String managerPhone;

    /**
     * 负责人微信用户id
     */
    private Integer managerWxUserId;

    /**
     * 负责人系统管理员id
     */
    private Integer managerSysUserId;

    /**
     *  支付账户id
     */
    private Integer payPlatformId;

    /**
     *  水罐清洗时长  单位秒
     */
    private Integer cleanSecond;

    /**
     * 位置信息
     */
    private String address;

    /**
     * 二维码地址
     */
    private String qrCode;

    /**
     * 程序版本
     */
    private String version;

    /**
     *  低位脉冲数
     */
    private Integer lowPulseCount;
    /**
     *  中位脉冲数
     */
    private Integer middlePulseCount;
    /**
     *  高位脉冲数
     */
    private Integer highPulseCount;


    /**
     * 添加时间
     */
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

}
